﻿using Synthesize.BaseSet.Domain.Aggregation.ValueObject.Authority;
using System;
using System.Collections.Generic;

namespace Synthesize.BaseSet.Domain.Aggregation.Dtos.Authority.Menu
{
    public class GetMenuTreeByPlatformOutDto
    {
        public GetMenuTreeByPlatformOutDto()
        {
            MenuPermissionList = new List<GetRoleMenuPermissionOutDto>();
            Children = new List<GetMenuTreeByPlatformOutDto>();
        }

        /// <summary>
        /// Id
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 父节点唯一标识符
        /// </summary>
        public Guid? ParentId
        {
            get; set;
        }


        /// <summary>
        /// 平台 1管理端 2应用端 3移动端
        /// </summary>
        public MenuPlatformEnum Platform
        {
            get; set;
        }

        /// <summary>
        /// 显示名称
        /// </summary>
        public string Title
        {
            get; set;
        }

        /// <summary>
        /// 菜单类型 1 菜单 2iframe 3外连接
        /// </summary>
        public MenuTypeEnum MenuType
        {
            get; set;
        }

        /// <summary>
        /// 排序
        /// </summary>
        public double Sort
        {
            get; set;
        }

        /// <summary>
        /// 是否有权限
        /// </summary>
        public bool HasAuth
        {
            get; set;
        }

        /// <summary>
        /// 菜单权限
        /// </summary>
        public List<GetRoleMenuPermissionOutDto> MenuPermissionList
        {
            get; set;
        }


        /// <summary>
        /// 子节点
        /// </summary>
        public List<GetMenuTreeByPlatformOutDto> Children { get; set; }
    }
}
